package com.vivo.customer.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DecorateSchemeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DecorateSchemeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("Id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("Id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("Id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("Id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("Id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("Id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("Id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("Id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("Id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("Id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("Id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("Id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("Id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("Id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdIsNull() {
            addCriterion("FKCustomer_ID is null");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdIsNotNull() {
            addCriterion("FKCustomer_ID is not null");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdEqualTo(String value) {
            addCriterion("FKCustomer_ID =", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotEqualTo(String value) {
            addCriterion("FKCustomer_ID <>", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdGreaterThan(String value) {
            addCriterion("FKCustomer_ID >", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdGreaterThanOrEqualTo(String value) {
            addCriterion("FKCustomer_ID >=", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdLessThan(String value) {
            addCriterion("FKCustomer_ID <", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdLessThanOrEqualTo(String value) {
            addCriterion("FKCustomer_ID <=", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdLike(String value) {
            addCriterion("FKCustomer_ID like", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotLike(String value) {
            addCriterion("FKCustomer_ID not like", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdIn(List<String> values) {
            addCriterion("FKCustomer_ID in", values, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotIn(List<String> values) {
            addCriterion("FKCustomer_ID not in", values, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdBetween(String value1, String value2) {
            addCriterion("FKCustomer_ID between", value1, value2, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotBetween(String value1, String value2) {
            addCriterion("FKCustomer_ID not between", value1, value2, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIsNull() {
            addCriterion("FKRoom_ID is null");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIsNotNull() {
            addCriterion("FKRoom_ID is not null");
            return (Criteria) this;
        }

        public Criteria andFkroomIdEqualTo(String value) {
            addCriterion("FKRoom_ID =", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotEqualTo(String value) {
            addCriterion("FKRoom_ID <>", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdGreaterThan(String value) {
            addCriterion("FKRoom_ID >", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdGreaterThanOrEqualTo(String value) {
            addCriterion("FKRoom_ID >=", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLessThan(String value) {
            addCriterion("FKRoom_ID <", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLessThanOrEqualTo(String value) {
            addCriterion("FKRoom_ID <=", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLike(String value) {
            addCriterion("FKRoom_ID like", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotLike(String value) {
            addCriterion("FKRoom_ID not like", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIn(List<String> values) {
            addCriterion("FKRoom_ID in", values, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotIn(List<String> values) {
            addCriterion("FKRoom_ID not in", values, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdBetween(String value1, String value2) {
            addCriterion("FKRoom_ID between", value1, value2, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotBetween(String value1, String value2) {
            addCriterion("FKRoom_ID not between", value1, value2, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andSchemeNameIsNull() {
            addCriterion("Scheme_Name is null");
            return (Criteria) this;
        }

        public Criteria andSchemeNameIsNotNull() {
            addCriterion("Scheme_Name is not null");
            return (Criteria) this;
        }

        public Criteria andSchemeNameEqualTo(String value) {
            addCriterion("Scheme_Name =", value, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeNameNotEqualTo(String value) {
            addCriterion("Scheme_Name <>", value, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeNameGreaterThan(String value) {
            addCriterion("Scheme_Name >", value, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeNameGreaterThanOrEqualTo(String value) {
            addCriterion("Scheme_Name >=", value, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeNameLessThan(String value) {
            addCriterion("Scheme_Name <", value, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeNameLessThanOrEqualTo(String value) {
            addCriterion("Scheme_Name <=", value, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeNameLike(String value) {
            addCriterion("Scheme_Name like", value, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeNameNotLike(String value) {
            addCriterion("Scheme_Name not like", value, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeNameIn(List<String> values) {
            addCriterion("Scheme_Name in", values, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeNameNotIn(List<String> values) {
            addCriterion("Scheme_Name not in", values, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeNameBetween(String value1, String value2) {
            addCriterion("Scheme_Name between", value1, value2, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeNameNotBetween(String value1, String value2) {
            addCriterion("Scheme_Name not between", value1, value2, "schemeName");
            return (Criteria) this;
        }

        public Criteria andSchemeImgIsNull() {
            addCriterion("Scheme_Img is null");
            return (Criteria) this;
        }

        public Criteria andSchemeImgIsNotNull() {
            addCriterion("Scheme_Img is not null");
            return (Criteria) this;
        }

        public Criteria andSchemeImgEqualTo(String value) {
            addCriterion("Scheme_Img =", value, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andSchemeImgNotEqualTo(String value) {
            addCriterion("Scheme_Img <>", value, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andSchemeImgGreaterThan(String value) {
            addCriterion("Scheme_Img >", value, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andSchemeImgGreaterThanOrEqualTo(String value) {
            addCriterion("Scheme_Img >=", value, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andSchemeImgLessThan(String value) {
            addCriterion("Scheme_Img <", value, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andSchemeImgLessThanOrEqualTo(String value) {
            addCriterion("Scheme_Img <=", value, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andSchemeImgLike(String value) {
            addCriterion("Scheme_Img like", value, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andSchemeImgNotLike(String value) {
            addCriterion("Scheme_Img not like", value, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andSchemeImgIn(List<String> values) {
            addCriterion("Scheme_Img in", values, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andSchemeImgNotIn(List<String> values) {
            addCriterion("Scheme_Img not in", values, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andSchemeImgBetween(String value1, String value2) {
            addCriterion("Scheme_Img between", value1, value2, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andSchemeImgNotBetween(String value1, String value2) {
            addCriterion("Scheme_Img not between", value1, value2, "schemeImg");
            return (Criteria) this;
        }

        public Criteria andMaterialsIsNull() {
            addCriterion("materials is null");
            return (Criteria) this;
        }

        public Criteria andMaterialsIsNotNull() {
            addCriterion("materials is not null");
            return (Criteria) this;
        }

        public Criteria andMaterialsEqualTo(String value) {
            addCriterion("materials =", value, "materials");
            return (Criteria) this;
        }

        public Criteria andMaterialsNotEqualTo(String value) {
            addCriterion("materials <>", value, "materials");
            return (Criteria) this;
        }

        public Criteria andMaterialsGreaterThan(String value) {
            addCriterion("materials >", value, "materials");
            return (Criteria) this;
        }

        public Criteria andMaterialsGreaterThanOrEqualTo(String value) {
            addCriterion("materials >=", value, "materials");
            return (Criteria) this;
        }

        public Criteria andMaterialsLessThan(String value) {
            addCriterion("materials <", value, "materials");
            return (Criteria) this;
        }

        public Criteria andMaterialsLessThanOrEqualTo(String value) {
            addCriterion("materials <=", value, "materials");
            return (Criteria) this;
        }

        public Criteria andMaterialsLike(String value) {
            addCriterion("materials like", value, "materials");
            return (Criteria) this;
        }

        public Criteria andMaterialsNotLike(String value) {
            addCriterion("materials not like", value, "materials");
            return (Criteria) this;
        }

        public Criteria andMaterialsIn(List<String> values) {
            addCriterion("materials in", values, "materials");
            return (Criteria) this;
        }

        public Criteria andMaterialsNotIn(List<String> values) {
            addCriterion("materials not in", values, "materials");
            return (Criteria) this;
        }

        public Criteria andMaterialsBetween(String value1, String value2) {
            addCriterion("materials between", value1, value2, "materials");
            return (Criteria) this;
        }

        public Criteria andMaterialsNotBetween(String value1, String value2) {
            addCriterion("materials not between", value1, value2, "materials");
            return (Criteria) this;
        }

        public Criteria andStaDurationIsNull() {
            addCriterion("Sta_Duration is null");
            return (Criteria) this;
        }

        public Criteria andStaDurationIsNotNull() {
            addCriterion("Sta_Duration is not null");
            return (Criteria) this;
        }

        public Criteria andStaDurationEqualTo(Date value) {
            addCriterion("Sta_Duration =", value, "staDuration");
            return (Criteria) this;
        }

        public Criteria andStaDurationNotEqualTo(Date value) {
            addCriterion("Sta_Duration <>", value, "staDuration");
            return (Criteria) this;
        }

        public Criteria andStaDurationGreaterThan(Date value) {
            addCriterion("Sta_Duration >", value, "staDuration");
            return (Criteria) this;
        }

        public Criteria andStaDurationGreaterThanOrEqualTo(Date value) {
            addCriterion("Sta_Duration >=", value, "staDuration");
            return (Criteria) this;
        }

        public Criteria andStaDurationLessThan(Date value) {
            addCriterion("Sta_Duration <", value, "staDuration");
            return (Criteria) this;
        }

        public Criteria andStaDurationLessThanOrEqualTo(Date value) {
            addCriterion("Sta_Duration <=", value, "staDuration");
            return (Criteria) this;
        }

        public Criteria andStaDurationIn(List<Date> values) {
            addCriterion("Sta_Duration in", values, "staDuration");
            return (Criteria) this;
        }

        public Criteria andStaDurationNotIn(List<Date> values) {
            addCriterion("Sta_Duration not in", values, "staDuration");
            return (Criteria) this;
        }

        public Criteria andStaDurationBetween(Date value1, Date value2) {
            addCriterion("Sta_Duration between", value1, value2, "staDuration");
            return (Criteria) this;
        }

        public Criteria andStaDurationNotBetween(Date value1, Date value2) {
            addCriterion("Sta_Duration not between", value1, value2, "staDuration");
            return (Criteria) this;
        }

        public Criteria andEndDurationIsNull() {
            addCriterion("End_Duration is null");
            return (Criteria) this;
        }

        public Criteria andEndDurationIsNotNull() {
            addCriterion("End_Duration is not null");
            return (Criteria) this;
        }

        public Criteria andEndDurationEqualTo(Date value) {
            addCriterion("End_Duration =", value, "endDuration");
            return (Criteria) this;
        }

        public Criteria andEndDurationNotEqualTo(Date value) {
            addCriterion("End_Duration <>", value, "endDuration");
            return (Criteria) this;
        }

        public Criteria andEndDurationGreaterThan(Date value) {
            addCriterion("End_Duration >", value, "endDuration");
            return (Criteria) this;
        }

        public Criteria andEndDurationGreaterThanOrEqualTo(Date value) {
            addCriterion("End_Duration >=", value, "endDuration");
            return (Criteria) this;
        }

        public Criteria andEndDurationLessThan(Date value) {
            addCriterion("End_Duration <", value, "endDuration");
            return (Criteria) this;
        }

        public Criteria andEndDurationLessThanOrEqualTo(Date value) {
            addCriterion("End_Duration <=", value, "endDuration");
            return (Criteria) this;
        }

        public Criteria andEndDurationIn(List<Date> values) {
            addCriterion("End_Duration in", values, "endDuration");
            return (Criteria) this;
        }

        public Criteria andEndDurationNotIn(List<Date> values) {
            addCriterion("End_Duration not in", values, "endDuration");
            return (Criteria) this;
        }

        public Criteria andEndDurationBetween(Date value1, Date value2) {
            addCriterion("End_Duration between", value1, value2, "endDuration");
            return (Criteria) this;
        }

        public Criteria andEndDurationNotBetween(Date value1, Date value2) {
            addCriterion("End_Duration not between", value1, value2, "endDuration");
            return (Criteria) this;
        }

        public Criteria andPromiseIsNull() {
            addCriterion("Promise is null");
            return (Criteria) this;
        }

        public Criteria andPromiseIsNotNull() {
            addCriterion("Promise is not null");
            return (Criteria) this;
        }

        public Criteria andPromiseEqualTo(String value) {
            addCriterion("Promise =", value, "promise");
            return (Criteria) this;
        }

        public Criteria andPromiseNotEqualTo(String value) {
            addCriterion("Promise <>", value, "promise");
            return (Criteria) this;
        }

        public Criteria andPromiseGreaterThan(String value) {
            addCriterion("Promise >", value, "promise");
            return (Criteria) this;
        }

        public Criteria andPromiseGreaterThanOrEqualTo(String value) {
            addCriterion("Promise >=", value, "promise");
            return (Criteria) this;
        }

        public Criteria andPromiseLessThan(String value) {
            addCriterion("Promise <", value, "promise");
            return (Criteria) this;
        }

        public Criteria andPromiseLessThanOrEqualTo(String value) {
            addCriterion("Promise <=", value, "promise");
            return (Criteria) this;
        }

        public Criteria andPromiseLike(String value) {
            addCriterion("Promise like", value, "promise");
            return (Criteria) this;
        }

        public Criteria andPromiseNotLike(String value) {
            addCriterion("Promise not like", value, "promise");
            return (Criteria) this;
        }

        public Criteria andPromiseIn(List<String> values) {
            addCriterion("Promise in", values, "promise");
            return (Criteria) this;
        }

        public Criteria andPromiseNotIn(List<String> values) {
            addCriterion("Promise not in", values, "promise");
            return (Criteria) this;
        }

        public Criteria andPromiseBetween(String value1, String value2) {
            addCriterion("Promise between", value1, value2, "promise");
            return (Criteria) this;
        }

        public Criteria andPromiseNotBetween(String value1, String value2) {
            addCriterion("Promise not between", value1, value2, "promise");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolIsNull() {
            addCriterion("Declare_firecontrol is null");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolIsNotNull() {
            addCriterion("Declare_firecontrol is not null");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolEqualTo(String value) {
            addCriterion("Declare_firecontrol =", value, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolNotEqualTo(String value) {
            addCriterion("Declare_firecontrol <>", value, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolGreaterThan(String value) {
            addCriterion("Declare_firecontrol >", value, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolGreaterThanOrEqualTo(String value) {
            addCriterion("Declare_firecontrol >=", value, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolLessThan(String value) {
            addCriterion("Declare_firecontrol <", value, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolLessThanOrEqualTo(String value) {
            addCriterion("Declare_firecontrol <=", value, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolLike(String value) {
            addCriterion("Declare_firecontrol like", value, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolNotLike(String value) {
            addCriterion("Declare_firecontrol not like", value, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolIn(List<String> values) {
            addCriterion("Declare_firecontrol in", values, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolNotIn(List<String> values) {
            addCriterion("Declare_firecontrol not in", values, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolBetween(String value1, String value2) {
            addCriterion("Declare_firecontrol between", value1, value2, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareFirecontrolNotBetween(String value1, String value2) {
            addCriterion("Declare_firecontrol not between", value1, value2, "declareFirecontrol");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityIsNull() {
            addCriterion("Declare_electricity is null");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityIsNotNull() {
            addCriterion("Declare_electricity is not null");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityEqualTo(String value) {
            addCriterion("Declare_electricity =", value, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityNotEqualTo(String value) {
            addCriterion("Declare_electricity <>", value, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityGreaterThan(String value) {
            addCriterion("Declare_electricity >", value, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityGreaterThanOrEqualTo(String value) {
            addCriterion("Declare_electricity >=", value, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityLessThan(String value) {
            addCriterion("Declare_electricity <", value, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityLessThanOrEqualTo(String value) {
            addCriterion("Declare_electricity <=", value, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityLike(String value) {
            addCriterion("Declare_electricity like", value, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityNotLike(String value) {
            addCriterion("Declare_electricity not like", value, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityIn(List<String> values) {
            addCriterion("Declare_electricity in", values, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityNotIn(List<String> values) {
            addCriterion("Declare_electricity not in", values, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityBetween(String value1, String value2) {
            addCriterion("Declare_electricity between", value1, value2, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareElectricityNotBetween(String value1, String value2) {
            addCriterion("Declare_electricity not between", value1, value2, "declareElectricity");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasIsNull() {
            addCriterion("Declare_fuelgas is null");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasIsNotNull() {
            addCriterion("Declare_fuelgas is not null");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasEqualTo(String value) {
            addCriterion("Declare_fuelgas =", value, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasNotEqualTo(String value) {
            addCriterion("Declare_fuelgas <>", value, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasGreaterThan(String value) {
            addCriterion("Declare_fuelgas >", value, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasGreaterThanOrEqualTo(String value) {
            addCriterion("Declare_fuelgas >=", value, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasLessThan(String value) {
            addCriterion("Declare_fuelgas <", value, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasLessThanOrEqualTo(String value) {
            addCriterion("Declare_fuelgas <=", value, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasLike(String value) {
            addCriterion("Declare_fuelgas like", value, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasNotLike(String value) {
            addCriterion("Declare_fuelgas not like", value, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasIn(List<String> values) {
            addCriterion("Declare_fuelgas in", values, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasNotIn(List<String> values) {
            addCriterion("Declare_fuelgas not in", values, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasBetween(String value1, String value2) {
            addCriterion("Declare_fuelgas between", value1, value2, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareFuelgasNotBetween(String value1, String value2) {
            addCriterion("Declare_fuelgas not between", value1, value2, "declareFuelgas");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherIsNull() {
            addCriterion("Declare_Other is null");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherIsNotNull() {
            addCriterion("Declare_Other is not null");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherEqualTo(String value) {
            addCriterion("Declare_Other =", value, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherNotEqualTo(String value) {
            addCriterion("Declare_Other <>", value, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherGreaterThan(String value) {
            addCriterion("Declare_Other >", value, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherGreaterThanOrEqualTo(String value) {
            addCriterion("Declare_Other >=", value, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherLessThan(String value) {
            addCriterion("Declare_Other <", value, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherLessThanOrEqualTo(String value) {
            addCriterion("Declare_Other <=", value, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherLike(String value) {
            addCriterion("Declare_Other like", value, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherNotLike(String value) {
            addCriterion("Declare_Other not like", value, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherIn(List<String> values) {
            addCriterion("Declare_Other in", values, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherNotIn(List<String> values) {
            addCriterion("Declare_Other not in", values, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherBetween(String value1, String value2) {
            addCriterion("Declare_Other between", value1, value2, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareOtherNotBetween(String value1, String value2) {
            addCriterion("Declare_Other not between", value1, value2, "declareOther");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeIsNull() {
            addCriterion("Declare_Time is null");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeIsNotNull() {
            addCriterion("Declare_Time is not null");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeEqualTo(Date value) {
            addCriterion("Declare_Time =", value, "declareTime");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeNotEqualTo(Date value) {
            addCriterion("Declare_Time <>", value, "declareTime");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeGreaterThan(Date value) {
            addCriterion("Declare_Time >", value, "declareTime");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("Declare_Time >=", value, "declareTime");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeLessThan(Date value) {
            addCriterion("Declare_Time <", value, "declareTime");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeLessThanOrEqualTo(Date value) {
            addCriterion("Declare_Time <=", value, "declareTime");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeIn(List<Date> values) {
            addCriterion("Declare_Time in", values, "declareTime");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeNotIn(List<Date> values) {
            addCriterion("Declare_Time not in", values, "declareTime");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeBetween(Date value1, Date value2) {
            addCriterion("Declare_Time between", value1, value2, "declareTime");
            return (Criteria) this;
        }

        public Criteria andDeclareTimeNotBetween(Date value1, Date value2) {
            addCriterion("Declare_Time not between", value1, value2, "declareTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("Create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("Create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("Create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("Create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("Create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("Create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("Create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("Create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("Create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("Create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("Create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("Create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeIsNull() {
            addCriterion("LastModify_Time is null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeIsNotNull() {
            addCriterion("LastModify_Time is not null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeEqualTo(Date value) {
            addCriterion("LastModify_Time =", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeNotEqualTo(Date value) {
            addCriterion("LastModify_Time <>", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeGreaterThan(Date value) {
            addCriterion("LastModify_Time >", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("LastModify_Time >=", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeLessThan(Date value) {
            addCriterion("LastModify_Time <", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("LastModify_Time <=", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeIn(List<Date> values) {
            addCriterion("LastModify_Time in", values, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeNotIn(List<Date> values) {
            addCriterion("LastModify_Time not in", values, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeBetween(Date value1, Date value2) {
            addCriterion("LastModify_Time between", value1, value2, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("LastModify_Time not between", value1, value2, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNull() {
            addCriterion("Add_User is null");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNotNull() {
            addCriterion("Add_User is not null");
            return (Criteria) this;
        }

        public Criteria andAddUserEqualTo(String value) {
            addCriterion("Add_User =", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotEqualTo(String value) {
            addCriterion("Add_User <>", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThan(String value) {
            addCriterion("Add_User >", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThanOrEqualTo(String value) {
            addCriterion("Add_User >=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThan(String value) {
            addCriterion("Add_User <", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThanOrEqualTo(String value) {
            addCriterion("Add_User <=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLike(String value) {
            addCriterion("Add_User like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotLike(String value) {
            addCriterion("Add_User not like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserIn(List<String> values) {
            addCriterion("Add_User in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotIn(List<String> values) {
            addCriterion("Add_User not in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserBetween(String value1, String value2) {
            addCriterion("Add_User between", value1, value2, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotBetween(String value1, String value2) {
            addCriterion("Add_User not between", value1, value2, "addUser");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}